package src.data.srv;


import java.util.Set;

import src.data.daos.CuentaDAO;
import src.data.hbt.Closure;
import src.data.hbt.Executor;
import src.domain.Cuenta;




public class CuentaSRV {
	
	
	private static CuentaDAO dao;
	static {
		dao = CuentaDAO.getInstance();
	}
	
	public Cuenta getCuentaById(final Long id){
		return (Cuenta) Executor.execute(new Closure() {
			public Object execute() {
				Cuenta c = new Cuenta();
				c.setCuentaId(id);
				return dao.getByID(c);
			
			}
		});
	}
	
	public void saveOrUpdateCuenta(final Cuenta cuenta) {
		Executor.execute(new Closure() {
			public Object execute() {
				dao.saveOrUpdate(cuenta);
				return null;
			}
		}); 

	}
	
	@SuppressWarnings("unchecked")
	public Set<Cuenta> getAllCuentas(){
		return(Set<Cuenta>) Executor.execute(new Closure() {
			public Object execute() {
				return dao.getAll();
			}
		});
		
	}
	
	
}
